package com.sm.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sm.domain.dto.LoginDTO;
import com.sm.domain.dto.Result;
import com.sm.domain.dto.UserDTO;
import com.sm.domain.po.User;

public interface UserService extends IService<User> {

	/**
	 * 用户注册
	 * @param user
	 * @return
	 */
	Result register(User user);

	/**
	 * 用户登录
	 * @param loginDTO
	 * @return
	 */
	Result login(LoginDTO loginDTO);

	/**
	 * 分页获取用户列表
	 * @param pageNo
	 * @param pageSize
	 * @return
	 */
	Result listUsers(Integer pageNo, Integer pageSize);

	/**
	 * 获取用户信息
	 * @param targetUserId
	 * @return
	 */
	Result getUserInfo(Long targetUserId);

	/**
	 * 修改用户信息
	 * @param userId
	 * @param userDto
	 * @return
	 */
	Result updateUserInfo(Long userId, UserDTO userDto);

	/**
	 * 重置密码
	 * @param userId
	 * @return
	 */
	Result resetPassword(Long userId);
}
